#ifndef __NJGIS_NJDATA_H__
#define __NJGIS_NJDATA_H__

#include "../include/INxData.h"
#include "NxService.h"

namespace NJGIS
{
	namespace SERVICE
	{
		class NjData : public virtual INjData, public virtual NjService
		{
		public:
			NjData(){};

			NjData(
				const char* id,
				const char* tag,
				int size,
				const char* genarationDateTime,
				NJGIS::SERVICE::NjDataType type,
				const char* value,
				const char* ip,
				int port
				):
				_id(id),
				_tag(tag),
				_size(size),
				_genarationDateTime(genarationDateTime),
				_type(type),
				_value(value),
				NjService(ip, port)
				{};

			virtual int isExist();

			virtual const char* getID();

			virtual const char* getTag();

			virtual const char* getGenarationDateTime();

			virtual NJGIS::SERVICE::NjDataType getType();

			virtual int getSize();

			virtual const char* getValue();

			virtual int saveAs( const char* path );

		private:
			std::string _id;

			std::string _tag;

			int _size;

			std::string _genarationDateTime;

			NJGIS::SERVICE::NjDataType _type;

			std::string _value;

		};
	}
}

#endif